Tutorial: Designing Distributed Software in mCRL2
نویسندگان
چکیده
Distributed software is very tricky to implement correctly as some errors only occur in peculiar situations. For such testing not effective. Mathematically proving correctness hard and time consuming, therefore, it rarely done. Fortunately, there a technique between, namely model checking, that, if applied with skill, both efficient able find rare errors. In this tutorial we show how create behavioural models of parallel software, specify requirements using modal formulas, verify these. that use the mCRL2 language toolset (www.mcrl2.org/). We discuss design an evolution well-known mutual exclusion protocols, checking provides insight their behaviour correctness, but also guides design.
منابع مشابه
Designing High-Performance Distributed Applications Using Software Performance Engineering: A Tutorial
متن کامل
Analysis of Distributed Systems with mCRL2
ion An important notion in process algebra is that of abstraction. Usually the requirements of a system are defined in terms of external behaviour (i.e. the interactions of the system with its environment), while one wishes to check these requirements on an implementation of the system which also contains internal behaviour (i.e. the interactions between the components of the system). So it is ...
متن کاملDesigning Distributed Learning Environments with Intelligent Software
I believe that education is an investment for the future of society. To develop our society we need to achieve the best education for every individual through providing every appropriate means for the particular individual. To provide the best education for each individual, we must perforce adapt our education to the individual. One adaption is to free the individual constraints of place and ti...
متن کاملDesigning a Distributed Software Transactional Memory System
Distributed systems are widely used in high performance computing for performing computationally extensive calculations. In programming terms, distributed systems have usually been exploited through the use of dedicated APIs such as OpenMP and MPI. With these programming models, synchronization is achieved using locks and barriers, and is complex to implement correctly. Transactional memory is ...
متن کاملDesigning Software Cockpits for Coordinating Distributed Software Development
Coordination of global software development is particularly difficult as it involves teams that are distributed across different locations and time zones. One of the key issues is a lack of understanding of how activities of different teams (and team members) relate to one another. To provide situational awareness for distributed teams, software cockpits, at-a-glance computer-controlled display...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
ژورنال
عنوان ژورنال: Lecture Notes in Computer Science
سال: 2021
ISSN: ['1611-3349', '0302-9743']
DOI: https://doi.org/10.1007/978-3-030-78089-0_15